1435dad364fb6547de60d6f142211ccd6649bd06,hazelcast/src/main/java/com/hazelcast/cache/impl/CacheStatisticsImpl.java,CacheStatisticsImpl,addGetTimeNano,#number#,251

Before Change


        for (;;) {
            long nanos = getCacheTimeTakenNanos;
            if (nanos <= Long.MAX_VALUE - duration) {
                GET_CACHE_TIME_TAKEN_NANOS_UPDATER.compareAndSet(this, nanos, nanos + duration);
            } else {
                //counter full. Just reset.
                clear();
                GET_CACHE_TIME_TAKEN_NANOS_UPDATER.set(this, duration);
            }
        }
    }

After Change


     *
     * @param duration the time taken in nanoseconds.
     */
    public void addGetTimeNanos(long duration) {
        for (;;) {
            long nanos = getCacheTimeTakenNanos;
            if (nanos <= Long.MAX_VALUE - duration) {
                if (GET_CACHE_TIME_TAKEN_NANOS_UPDATER.compareAndSet(this, nanos, nanos + duration)) {
                    return;
                }
            } else {
                //counter full. Just reset.
                if (GET_CACHE_TIME_TAKEN_NANOS_UPDATER.compareAndSet(this, nanos, duration)) {
                    clear();
                    return;
                }
            }
        }
    }